package com.hspedu.tree;

/**
 * @author Charlie
 * @version 1.0
 * @date 4/11/2025 下午9:32
 */
public class ArrBinaryTreeDemo {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7};
        ArrBinaryTree arrBinaryTree = new ArrBinaryTree(arr);
        arrBinaryTree.preOrder();

    }
}
//编写一个顺序存储二叉树
class ArrBinaryTree{
    private int [] arr;

    public ArrBinaryTree(int[] arr) {
        this.arr = arr;
    }
    public void preOrder(){
        this.preOrder(0);

    }
    //编写一个方法完成顺序存储二叉树的一个前序遍历,index数组的下标
    public void preOrder(int index) {
        if (arr == null || arr.length == 0) {
            System.out.println("数组为空，无法遍历");
        }
            System.out.println(arr[index]);
            //向左递归遍历
            if ((index * 2 + 1) < arr.length) {
                preOrder(2 * index + 1);
            }
            if ((index * 2 + 2) < arr.length) {
                preOrder(2 * index + 2);
            }
        }
    }






